home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / serien / purity / nr.27 / wbarg / unit < prev    next >
Text File  |  1995-04-23  |  2KB  |  77 lines

  1. UNIT WBarg;
  2. { Unit, die die Parameterübergabe über die Workbench (Mit SHIFT) }
  3. { vereinfacht.                                                   }
  4. {                                                                }
  5. { © 27.01.1993 by Røgersøft  /  System M                         }
  6. {              Michael Klein                                     }
  7. {              Am Wasserturm 6                                   }
  8. {              67346 Speyer                                      }
  9. {                                                                }
  10. { Zur Veröffentlichung auf der Purity freigegeben.               }
  11. { Bei Benutzung in eigenen Programmen bitte meinen Namen in der  }
  12. { Anleitung erwähnen und mir das Programm schicken.              }
  13.  
  14. {$ Projekt MyTools }
  15.  
  16. INTERFACE
  17.  
  18. {$ include 'exec.lib','Workbench/icon.h'}
  19.  
  20. FUNCTION WBArgNum:INTEGER;
  21. FUNCTION GetWBArg(Argumentnummer:INTEGER):STR;
  22. FUNCTION OpenIconLib:BOOLEAN;
  23. PROCEDURE CloseIconLib;
  24.  
  25. IMPLEMENTATION
  26.  
  27. {$ include 'dos.lib','Workbench/startup.h'}
  28.  
  29. Type argarraytyp=^ARRAY[1..MaxInt] OF WBarg;
  30.  
  31. VAR WBmsgPtr : p_WBStartup;
  32.     IconBase : PTR;
  33.     p_argarray : argarraytyp;
  34.  
  35. FUNCTION OpenIconLib;
  36.  BEGIN
  37.   Iconbase:=OpenLibrary(ICONNAME,0);
  38.   IF IconBase=NIL THEN OpenIconLib:=FALSE ELSE OpenIconLib:=TRUE;
  39.  END;
  40.  
  41. PROCEDURE CloseIconLib;
  42.  BEGIN
  43.   IF IconBase<>NIL THEN CloseLibrary(IconBase);
  44.   IconBase:=NIL;
  45.  END;
  46.  
  47. FUNCTION WBArgNum;
  48.  BEGIN
  49.   IF OpenIconLib THEN
  50.   BEGIN
  51.    WBmsgPtr:=StartupMessage;
  52.    IF FromWB THEN WBArgNum:=WBMsgPtr^.sm_NumArgs
  53.    ELSE WBArgNum:=-32768;
  54.   END
  55.   ELSE WBArgNum:=-32768;
  56.  END;
  57.  
  58. FUNCTION GetWBArg;
  59.  VAR VLock:BPTR;
  60.  BEGIN
  61.   GetWBArg:=NIL;
  62.   IF OpenIconLib THEN
  63.   BEGIN
  64.    WBmsgPtr:=StartupMessage;
  65.    IF (Argumentnummer<=WBArgnum) and (WBArgnum>0) THEN BEGIN
  66.     p_argarray:=argarraytyp(wbmsgptr^.sm_ArgList);
  67.     GetWBArg:=p_argarray^[Argumentnummer].wa_Name;
  68.     Vlock:=currentdir(p_argarray^[Argumentnummer].wa_lock);
  69.           {^--- um in das passende Verzeichnis zu wechseln }
  70.    END;
  71.   END;
  72.  END;
  73.  
  74. BEGIN
  75. IconBase:=NIL;
  76. END.
  77.